sql - GROUP BY 和 ORDER BY
全部标签 我在XML文件中有如下数据:www.google.com/ncr29/06/20175:27:25PMwww.yahoo.com10/03/20175:30:25PMwww.google.com/ncr23/01/20145:27:25PM我的目标是根据history-date对这些数据进行分组和排序。我正在使用以下代码来实现此目的:XDocumenthistory=XDocument.Load("history.xml");vardetails=fromcinhistory.Descendants("history-item")groupcbyc.Element("history-d
SQL服务器2012目标:将多个货币行组合成一个字符串,中间有一个空格。我已经尝试了各种编辑和修改,但我似乎无法做到这一点。这是我正在查看的数据:Table1.[MiscAmount]Table2.Taxes我猜我的列名有一个空格,这真的让xml路径很生气。使用的语句:DECLARE@Miscnvarchar(30)SET@Misc=(SELECT[MiscAmount]FROMTable1WHEREOrder=33532)SELECT@Misc+''+STUFF((SELECT''+SUM(TaxAmount)AS[text()]FROMTable2WHEREOrder=33532G
我正在用这个存储过程处理xmlselectcol.query('./AgreementId').value('.','uniqueidentifier')as[AgreementId],x.query('./GrossValue').value('.','decimal(19,4)')as[GrossValue]into#AdvanceInvoicesfrom@XML.nodes('/DataFromERP/CustomObjects/Agreements/Agreement')asref(col)crossapplyref.col.nodes('AdvanceInvoices/Adv
我需要计算所有非空的b节点(所以结果应该是2)。1g我正在使用下面的代码,但这会返回所有节点的计数(包括空节点)。selecttop1rc.XmlContent.value('count(//a/b)','int')fromTablerc 最佳答案 如果你使用//a/b/text()而不是仅仅使用//a/b,那么你会得到2DECLARE@xXML='1g';SELECT@x.value('count(//a/b/text())','int'); 关于sql-在SQLServer中计算XM
我提取了xml文件并将其移动到SQLServer。现在看起来像这样。现在我正在尝试将其转换为XML数据类型。DECLARE@XMLASXMLSELECT@XML=convert(xml,[Column0],2)FROMTestExtract但是我得到了这个错误XMLparsing:line1,character43,unabletoswitchtheencoding也许我应该将所有行合并为一行?然后转换它?请告知任何选项。谢谢! 最佳答案 IusedSSIS,flatfileasasourceandoledb(SQLserver)a
我需要将一个oracle表转换为xml,然后将其返回为表形式。我使用xmlgen转换了一个表,但我不知道如何反转转换。我正在寻找将xml文件转换为表格的示例。 最佳答案 您可以使用XMLTABLE语法在xml表上创建关系View。例如SELECTwarehouse_namewarehouse,warehouse2."Water",warehouse2."Rail"FROMwarehouses,XMLTABLE('/Warehouse'PASSINGwarehouses.warehouse_specCOLUMNS"Water"varc
我在SQLServer表中有这个XML:111SmithJonesBrown222WhiteBloggsMcDonald想要这样的结果集:MeetingIDName111Smith111Jones111Brown222White222Bloggs222McDonald使用selectfromopenxml很容易,但我使用XQuery失败了。有人可以帮助我吗,也许还可以给出这两种方法的优缺点? 最佳答案 一旦您修复了无效的XML(元素需要以结束标记结束),您应该能够使用它:SELECTMeetings.List.value('(id)
我真的很讨厌当我想从数据库中存储/获取某些东西时,我必须发出SQL命令并等待响应,而在此之前我需要创建表并仔细考虑数据类型。代码在整个源代码中都是重复的,每次我需要与SQL交谈时我都非常累。我在想有什么简单的方法吗?就像我想在表格中插入一行:Table1table;table.insert("bbb","ccc","ddd");table.insert("colA":"bbb","colB":"ccc");另外,我不需要在SQL中手动创建表,只需用高级语言声明即可:Table1{colAcolB}查找特定元素:table.find({"colA"="bbb"});或者,更好的是,如果数
请考虑这个XML:1000NimaAgha1001LighaLigha1002JighaJigha1003AbaAba我想编写一个获取数字的函数,然后获取第n个Person元素和Name。例如,如果0传递到我的函数,我返回Aba,如果1传递到我的函数,我返回Jigha。 最佳答案 这应该有效。将@index变量的值设置为要查找的记录的编号,相对于列表的末尾:declare@indexint=1declare@xmlxml='1000NimaAgha1001LighaLigha1002JighaJigha1003AbaAba'sele
我有一个包含XML列(XMLColumn)和VARCHAR列(ABCColumn)的临时表.我试图用同一行的ABCColumn中的值替换XMLColumn中特定XML节点的值。我需要为临时表中的每一行执行此操作。如果没有一个游标可以保存每次提取的替换值,这是否可行?我尝试使用对临时表进行更新XmlColumn.modify('replacevalueof...with...')但在这种情况下我没有变量。我需要获取XYZColumn的值并将其用作替换值。我见过的每个示例都使用变量或硬编码值-而不是同一行的列值。此外,我正在使用SQLServer2005。有人有什么想法吗?